<?php
/**
 * User: tridungpham
 * Date: 7/10/11
 * Time: 11:23 PM
 */
 
class AgentsModel extends Model
{
    function __construct()
    {
        $this->loadTable('agents');
        $this->loadLibrary('PostWrapper');
    }

    function getAgentList()
    {
        return $this->tables['agents']->get(null,array('order' => 'name'));
    }

    function handleAdd()
    {
        $input = PostWrapper::getInstance();
        $eMessage = null;

        if(strlen($input->name) == 0 || strlen($input->name) > 100)
            $eMessage[] = 'Tên nhân viên không được để trống';

        if(!is_null($eMessage))
        {
            $return['errors'] = &$eMessage;
            $return['input'] =& $input;
            return $return;
        }

        $table =& $this->tables['agents'];
        $table->set('name',$input->name);
        if(strlen($input->image) > 0)
            $table->set('image',$input->image);
        if (strlen($input->detail) > 0)
            $table->set('detail', $input->detail);
        $table->set('album_id',$input->album_id);
        $table->insert();
        $return['message'] = 'Thêm nhân viên thành công.';
        return $return;
    }

    function handleEdit()
    {
        $input = PostWrapper::getInstance();
        $eMessage = null;

        if (strlen($input->name) == 0 || strlen($input->name) > 100)
            $eMessage[] = 'Tên nhân viên không được để trống';

        if (!is_null($eMessage))
        {
            $return['errors'] = &$eMessage;
            $return['input'] =& $input;
            return $return;
        }

        $table =& $this->tables['agents'];
        $table->set('name', $input->name);
        if (strlen($input->image) > 0)
            $table->set('image', $input->image);
        if (strlen($input->detail) > 0)
            $table->set('detail', $input->detail);
        $table->set('album_id', $input->album_id);
        $table->update(array('id' => $input->id));
        $return['message'] = 'Thêm nhân viên thành công.';
        return $return;
    }

    function handleRemove($id)
    {
        $this->tables['agents']->remove(array('id' => $id));
        return true;
    }

    function handleMassAction()
    {
        $input = PostWrapper::getInstance();
        switch($input->mass_action)
        {
            case 'remove':
                {
                    foreach($input->cb as $id)
                    {
                        $this->handleRemove($id);
                    }
                }
                break;
        }
    }

    function getAlbumList()
    {
        $this->loadTable('album');
        return $this->tables['album']->get(null,array('order' => 'name'))->getAll();
    }

    function getAgent($id)
    {
        return $this->tables['agents']->get(array('id' => $id));
    }
}